package model

// IfcgateDomesticPayee  国内收款人表
type IfcgateDomesticPayee struct {
	ID                         int64  `json:"id"`                           //  主键
	BizFlow                    string `json:"biz_flow"`                     // 收款人唯一编号
	MerchantNo                 string `json:"merchant_no"`                  //  商户号
	SubjectType                string `json:"subject_type"`                 //  账户类型：00-个人,01-企业
	PayeeName                  string `json:"payee_name"`                   //  收款方姓名
	CertNo                     string `json:"cert_no"`                      //  证件号
	Mobile                     string `json:"mobile"`                       //  电话
	Country                    string `json:"country"`                      //  国家/地区
	Currency                   string `json:"currency"`                     //  币种
	BankCode                   string `json:"bankCode"`                     // 银行联行号
	BankAcctNo                 string `json:"bank_acct_no"`                 //  银行账号
	BranchName                 string `json:"branch_name"`                  //  支行名称
	BusinessType               string `json:"business_type"`                //  业务类型 00-货贸（包含电商） 01-服贸 多条以,隔开
	PayeeType                  string `json:"payee_type"`                   //  收款人分类
	SupplementaryMaterialsPath string `json:"supplementary_materials_path"` //  补充材料
	BusinessLicensePath        string `json:"business_license_path"`        //  营业执照
	FrontCardPath              string `json:"front_card_path"`              //  身份证正面
	BackCardPath               string `json:"back_card_path"`               //  身份证反面
	LegalFrontCardPath         string `json:"legal_front_card_path"`        //  法人身份证正面
	LegalBackCardPath          string `json:"legal_back_card_path"`         //  法人身份证反面
	LegalCertNo                string `json:"legal_cert_no"`                //  法人身份证号
	Status                     string `json:"status"`                       //  00-审核中 01-成功 02-失败 03-待补充材料
	SenderName                 string `json:"senderName"`                   // 付款方名称
	SenderIncorporationNo      string `json:"senderIncorporationNo"`        // 付款方公司注册号
	RegistrationRegion         string `json:"registrationRegion"`           // 付款方注册地
	SenderBankName             string `json:"senderBankName"`               // 付款方银行名称
}

// IfcgateInternationPayee  国际收款人表
type IfcgateInternationPayee struct {
	ID                   int64  `json:"id"`                     //  主键
	MerchantNo           string `json:"merchant_no"`            //  商户号
	SubjectType          string `json:"subject_type"`           //  账户类型：00-个人,01-企业
	CountryCode          string `json:"country_code"`           //  国家编码
	PayeeFirstName       string `json:"payee_first_name"`       //  姓
	PayeeLastName        string `json:"payee_last_name"`        //  名
	PayeeCity            string `json:"payee_city"`             //  收款人城市
	PayeeProvince        string `json:"payee_province"`         //  收款人省份
	PayeeIdNo            string `json:"payee_id_no"`            //  收款方证件号
	PayeeEmail           string `json:"payee_email"`            //  收款方邮箱
	PayeePhone           string `json:"payee_phone"`            //  收款方手机号
	PayeeAddress         string `json:"payee_address"`          //  收款方地址
	PayeeZipCode         string `json:"payee_zip_code"`         //  收款人邮政编码
	PayeeAcctType        string `json:"payee_acct_type"`        //  帐户类型
	PayeeBankName        string `json:"payee_bank_name"`        //  收款方银行名称
	PayeeBankAccountNo   string `json:"payee_bank_account_no"`  //  收款方帐号
	PayeeBankAddress     string `json:"payee_bank_address"`     //  收款方银行地址
	PayeeRegisterNo      string `json:"payee_register_no"`      //  收款方注册号
	PayeeCompanyName     string `json:"payee_company_name"`     //  收款方公司名称
	PayeeResidentCountry string `json:"payee_resident_country"` //  银行账户所在地
	PayeeBankSwift       string `json:"payee_bank_swift"`       //  swift code
	ArriveCurrency       string `json:"arrive_currency"`        //  账户币种
	PayType              string `json:"pay_type"`               //  付款方式
	BankAcctType         string `json:"bank_acct_type"`         //  银行账户类型:01-to b,02-to c
	PayeeBankBranchCode  string `json:"payee_bank_branch_code"` //  收款人银行分行代码
	PayerProvince        string `json:"payer_province"`         //  付款方所在省份/州
	PayerPostalCode      string `json:"payer_postal_code"`      //  付款方邮编
	Status               string `json:"status"`                 //
}

func ErrorCodToString(reasonCode string) string {
	switch reasonCode {
	case "00":
		return "审核中"
	case "01":
		return "成功"
	case "02":
		return "失败"
	case "03":
		return "待补充材料"
	default:
		return "未知状态"
	}
}

type IFCPurpose struct {
	Code   string `json:"code"`
	DescEn string `json:"desc_en"`
	DescZh string `json:"desc_zh"`
}

type IfcgateRate struct {
	ID       int64   `db:"id" json:"id"`             // 主键
	Currency string  `db:"currency" json:"currency"` // 币种
	Name     string  `db:"name" json:"name"`         // 中文名称
	Rate     float64 `db:"rate" json:"rate"`         // 汇率
}
